Si bien colecciones básicas como arreglos o rebanadas están limitadas a almacenar elementos del mismo tipo de datos, estructuras (structs) nos permiten agrupar tipos diferentes en una sola unidad. Esto es esencial para la exploración marciana, donde la telemetría implica datos mixtos como nombres (string) y coordenadas (float64).
1. Agrupamiento semántico frente a uniformidad
A diferencia de un corte de floats que solo te dice "cuántos", una estructura proporciona un contenedor etiquetado. Definición: Mientras que las colecciones son del mismo tipo, las estructuras te permiten agrupar cosas diferentes. Esto evita el "caldo de variables" al empaquetar datos relacionados en objetos con nombre.
2. Atomicidad en operaciones
Al agrupar variables, logramos atomicidad. Funciones como func Step(a, b Universe) o func (u Universe) Next(x, y int) bool pueden manipular entornos completos en lugar de perseguir primitivos sueltos. Para tareas puntuales, estructuras anónimas (como en el Listado 21.1) ofrecen organización inmediata sin definiciones formales de tipo.